package com.yunji.news.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yunji.news.entity.AdmissionResult;

import java.util.List;

/**
 * 录取结果服务接口
 *
 * @author yunji
 * @since 2024-11-26
 */
public interface AdmissionResultService extends IService<AdmissionResult> {

    /**
     * 分页查询录取结果
     */
    IPage<AdmissionResult> getAdmissionPage(Integer page, Integer size, 
                                          Long schoolId, Long majorId, 
                                          String admissionStatus, String keyword);

    /**
     * 生成录取结果
     */
    boolean generateAdmissionResults(Long schoolId, Long majorId, Integer admissionCount);

    /**
     * 发布录取结果
     */
    boolean publishAdmissionResults(Long[] ids);

    /**
     * 获取公开的录取名单
     */
    List<AdmissionResult> getPublicAdmissionList(Long schoolId, Long majorId, String admissionStatus);

    /**
     * 查询学生录取状态
     */
    AdmissionResult getStudentAdmissionResult(String idCard, Long schoolId);

    /**
     * 学生确认录取
     */
    boolean confirmAdmission(Long id);

    /**
     * 批量更新录取状态
     */
    boolean batchUpdateAdmissionStatus(Long[] ids, String admissionStatus);

    /**
     * 发送录取通知
     */
    boolean sendAdmissionNotice(Long id);
}